
package com.gl.glcourses.model
{
	import com.gl.glcourses.events.GLCoursesEvent;
	import com.gl.glcourses.vos.EdicionCurso;
	import com.gl.glcourses.vos.EstadoParticipante;
	import com.gl.glcourses.vos.TipoParticipante;
	import com.gl.glcourses.vos.Usuario;
	
	import mx.collections.ArrayCollection;

	public class AltaInscripcionCursoPanelModel extends PresentationModel
	{

		private var _edicionCursoSeleccionado:EdicionCurso;
		
		[Bindable]
		public var _usuariosPM:ArrayCollection = new ArrayCollection();
				
		[Bindable]
		public var horaCalculada:String;
		
		[Bindable] 
		public var pmSeleccionado:Usuario;
		
		[Bindable] 
		public var usuarioLogeado:Usuario;
		
		
		
		[Bindable]
		public function get usuariosPM():ArrayCollection
		{
			return _usuariosPM;
		}
		
		public function set usuariosPM(value:ArrayCollection):void
		{
			_usuariosPM = value;
			
			for each( var userPM:Usuario in usuariosPM )
			{
				if( userPM.id == usuarioLogeado.manager.id )
				{
					pmSeleccionado = userPM;
					return;
				}
			}		
		}
			
		[Bindable]
		public function get edicionCursoSeleccionado():EdicionCurso
		{
			return _edicionCursoSeleccionado;
		}
		
		public function set edicionCursoSeleccionado(value:EdicionCurso):void
		{			
			_edicionCursoSeleccionado = value;
			
			var o:EdicionCurso= value as EdicionCurso;
			var minutos:Number = o.curso.cantidadMinutosTotal;
			var horas:Array = (minutos/60).toString().split(".");
			var minutosFinal:Number = minutos%60;
			horaCalculada = horas[0].toString() +"hs "+ minutosFinal.toString()+"min";
			
		}
		
		public function inscribirAEdicionCursoModel():void
		{
			var event:GLCoursesEvent = new GLCoursesEvent( GLCoursesEvent.INSCRIBIR_PARTICIPANTE );
			event.usuarioLogeado = this.usuarioLogeado;
			event.tipoParticipante = TipoParticipante.ALUMNO;
			event.estadoParticipante = EstadoParticipante.PENDIENTE_APROBACION;
			event.edicionCursoSeleccionado = edicionCursoSeleccionado;
			dispatch(event);
		}	
		
	}
}